


import java.io.FileReader;

/**
 *
 * @author Eric Beaudry
 */
public class TestPolitique3 {

    
    public static void main(String args[]) throws Exception
    {
        if(args.length<4)
            System.err.println("java -cp SerpentsEchelles.jar TestPolitique3 plateau.txt politique1.txt politique2.txt nbIteration maxCoups");
        
        Plateau plateau = null;
        PolitiqueAvancee pols[] = new PolitiqueAvancee[2];
        int nb = 1000000;
        int nbMaxDiff = 1000;
        
        if(args.length>0)
            plateau = Plateau.load(new FileReader(args[0]));
        else
            plateau = Plateau.generate(500, 10, 250, 8, 30);
        
        if(args.length>1)
            pols[0] = PolitiqueAvancee.load(new FileReader(args[1]));
        else
            pols[0] = GenPolitique2.generate(plateau);
        
        if(args.length>2)
            pols[1] = PolitiqueAvancee.load(new FileReader(args[2]));
        else
            pols[1] = GenPolitique2.generate(plateau);

        if(args.length>3)
            nb = Integer.parseInt(args[3]);

        nbMaxDiff = plateau.nbCases / 2;

        if(args.length>4)
            TestPolitique2.maxtour = Integer.parseInt(args[4]);
        
        int[] compteWin = new int[2];
        int abandons = 0;
        for(int iter=0;iter<nb;iter++){
            int w = TestPolitique2.simulateGame(plateau, pols, iter%pols.length, nbMaxDiff);
            if(w!=-1)
                compteWin[w]++;
            else
                abandons++;
        }
        
        System.out.println("Résultats:");        
        for(int i=0;i<compteWin.length;i++)
            System.out.println("Joueur #" + i + " : " + compteWin[i]);
        System.out.println("Parties abandonnées : " + abandons);
    }

}
